Apparatus and method for providing for communications using distribution lists

ABSTRACT

An apparatus, method, and computer program product are described that determine a subset of users from a predefined distribution list based on a common characteristic of members of the subset. A common characteristic may be the fact that members of the subset have been determined to be proximate the source user&#39;s device. The source user may communicate (e.g., share content) with members of the identified subset through selection of the distribution list, while non-members of the subset would be excluded from the communication.

TECHNOLOGICAL FIELD

Embodiments of the present invention relate generally to providing forcommunication with users through the use of pre-defined userdistribution lists.

BACKGROUND

The information age has made information available to users throughvarious wired and wireless networks on many different types of devices,from laptop computers to cellular telephones. Along with the increasedaccess to information, however, has come increased user demand forsharing content with other users through their user devices, e.g.,without necessarily logging on to a computer to manually copy andtransfer files.

The prevalence of mobile devices is such that a large portion of thepopulation carries mobile devices (such as cellular phones, tablets, andlaptops). Often, users in the same location have a need or desire toshare content with each other.

Accordingly, it may be desirable to provide improved mechanisms by whichcontent can be shared among users.

BRIEF SUMMARY OF EXAMPLE EMBODIMENTS

Accordingly, embodiments of an apparatus, method, and computer programproduct are described that provide for communication with users throughthe use of pre-defined user distribution lists, such as by identifying asubset of an established user distribution list including members thatare proximate the user's apparatus via a “wave” gesture. In particular,embodiments of an apparatus for facilitating communication with usersmay include at least one processor and at least one memory includingcomputer program code. The at least one memory and the computer programcode may be configured to, with the processor, cause the apparatus to atleast access a predefined distribution list, determine a subset of thedistribution list based on a common characteristic of members of thesubset, receive selection of the distribution list, and provide forcommunication with members of the subset based on receipt of theselection, where non-members of the subset are excluded from thecommunication.

In some cases, the common characteristic may comprise proximity betweena device associated with the member of the subset and the apparatus,inclusion of the member of the subset in a predefined group of contacts,and/or inclusion of the member of the subset in an establishedcommunication session. The at least one memory and the computer programcode may be further configured to, with the processor, cause theapparatus to provide for communication with members of the subset bysharing content with members of the subset. Additionally oralternatively, the at least one memory and the computer program code maybe further configured to, with the processor, cause the apparatus toprovide for a visual indication of the subset determined. Furthermore,the at least one memory and the computer program code may be furtherconfigured to, with the processor, cause the apparatus to access thepredefined distribution list based on a context of use of the apparatus.

In other embodiments, a method and a computer program product aredescribed for facilitating communication with users by accessing apredefined distribution list; determining a subset of the distributionlist based on a common characteristic of members of the subset;receiving selection of the distribution list; and providing forcommunication with members of the subset based on receipt of theselection, where non-members of the subset are excluded from thecommunication. The common characteristic may comprise, for example,proximity between a device associated with the member of the subset andthe apparatus, inclusion of the member of the subset in a predefinedgroup of contacts, and/or inclusion of the member of the subset in anestablished communication session.

In some cases, communication with members of the subset may be providedfor by sharing content with members of the subset. The method mayfurther provide for a visual indication of the subset determined. Inaddition or alternatively, the predefined distribution list may be basedon a context of use of the apparatus.

In still other embodiments, an apparatus is described for facilitatingcommunication with users. The apparatus may include means for accessinga predefined distribution list; means for determining a subset of thedistribution list based on a common characteristic of members of thesubset; means for receiving selection of the distribution list; andmeans for providing for communication with members of the subset basedon receipt of the selection, where non-members of the subset areexcluded from the communication.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 illustrates one example of a communication system according to anexample embodiment of the present invention;

FIG. 2 illustrates a schematic block diagram of an apparatus forproviding for communication among users according to an exampleembodiment of the present invention;

FIG. 3 illustrates a back side of an apparatus including an array ofantennas according to an example embodiment of the present invention;

FIGS. 4A and 4B illustrate an apparatus in a first position according toan example embodiment of the present invention;

FIGS. 5A and 5B illustrate an apparatus in a second position accordingto an example embodiment of the present invention;

FIG. 6 illustrates a sweep input according to an example embodiment ofthe present invention;

FIG. 7 illustrates devices proximate the user's apparatus inside andoutside a coverage area of the apparatus according to an exampleembodiment of the present invention;

FIG. 8 illustrates an apparatus presenting accessed distribution listson a display according to another example embodiment of the presentinvention;

FIG. 9 illustrates an apparatus presenting visual representations ofusers in a first region according to another example embodiment of thepresent invention;

FIG. 10 illustrates the apparatus of FIG. 9 in which an input isreceived moving a selected visual representation outside the firstregion according to an example embodiment of the present invention;

FIG. 11 illustrates the apparatus of FIG. 9 in which multiple inputs arereceived moving multiple selected visual representations to a designatedarea according to an example embodiment of the present invention;

FIG. 12 illustrates the apparatus of FIG. 9 in which an input isreceived moving the selected visual representations from the designatedarea to the first region according to an example embodiment of thepresent invention;

FIG. 13 illustrates the apparatus of FIG. 9 in which an input isreceived sharing content with the created user group according to anexample embodiment of the present invention;

FIGS. 14-16 illustrate flowcharts of methods of providing forcommunication among users according to another example embodiment of thepresent invention;

FIGS. 17A-17C illustrate implementations of a wave gesture incorporatingdifferent sweep gestures according to an example embodiment of thepresent invention;

FIGS. 18A-18C illustrate implementations of a wave gesture incorporatingdifferent tilt angles according to an example embodiment of the presentinvention; and

FIGS. 19A-19C illustrate implementations of a wave gesture incorporatingdifferent height components according to an example embodiment of thepresent invention.

DETAILED DESCRIPTION

Some embodiments of the present invention will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all, embodiments of the invention are shown. Indeed,various embodiments of the invention may be embodied in many differentforms and should not be construed as limited to the embodiments setforth herein; rather, these embodiments are provided so that thisdisclosure will satisfy applicable legal requirements. Like referencenumerals refer to like elements throughout. As used herein, the terms“data,” “content,” “information,” and similar terms may be usedinterchangeably to refer to data capable of being transmitted, receivedand/or stored in accordance with embodiments of the present invention.Thus, use of any such terms should not be taken to limit the spirit andscope of embodiments of the present invention.

Additionally, as used herein, the term ‘circuitry’ refers to (a)hardware-only circuit implementations (e.g., implementations in analogcircuitry and/or digital circuitry); (b) combinations of circuits andcomputer program product(s) comprising software and/or firmwareinstructions stored on one or more computer readable memories that worktogether to cause an apparatus to perform one or more functionsdescribed herein; and (c) circuits, such as, for example, amicroprocessor(s) or a portion of a microprocessor(s), that requiresoftware or firmware for operation even if the software or firmware isnot physically present. This definition of ‘circuitry’ applies to alluses of this term herein, including in any claims. As a further example,as used herein, the term ‘circuitry’ also includes an implementationcomprising one or more processors and/or portion(s) thereof andaccompanying software and/or firmware. As another example, the term‘circuitry’ as used herein also includes, for example, a basebandintegrated circuit or applications processor integrated circuit for amobile phone or a similar integrated circuit in a server, a cellularnetwork device, other network device, and/or other computing device.

As defined herein, a “computer-readable storage medium,” which refers toa physical storage medium (e.g., volatile or non-volatile memorydevice), can be differentiated from a “computer-readable transmissionmedium,” which refers to an electromagnetic signal.

As noted above, users of mobile devices who are co-located (e.g., in thesame room or in close proximity to each other) often have a need ordesire to share content with each other. The users may be friendssitting in a coffee shop exchanging stories who may want to sharecontent with each other, such as photographs of a recent vacation. Or,the users may be co-workers at a meeting who need to distribute files toothers in the meeting to facilitate the work discussion.

Different technologies have emerged to facilitate the sharing of contentamong users. Cloud services, such as Sketchpad, Kaltura, Spotify,Netflix, MobileMe, Sharepoint, etc., typically use a network of remoteservers hosted on the Internet to store, manage, and process data,rather than a local server or a personal computer. Such services maywork well for remote content sharing, but are often not optimal forcontent sharing between and among co-located users due to the up-frontconfiguration and set-up efforts that are required.

Bluetooth and Wireless LAN (WLAN) are commonly-used conventional methodsof short range ad-hoc communication. Bluetooth, for example, is a lowpower short-range radio technology that requires communicating devicesto be within 10 m from each other. Bluetooth, however, can be difficultto configure, unreliable, and slow when relatively large files (such asmedia files) are involved. WLAN has an infrastructure mode and an ad-hocmode, depending on whether the content is routed via an access point ordirectly point-to-point. The typical indoor range for WLAN is 50 m. WLANprovides physical and data link layers without any specification forhigher protocols. As a result, content sharing is less “user-centric” innature and requires the user to depend on services that are built on theWLAN technology.

Other conventional methods of content sharing may include e-mailingcontent between users; however, multiple inputs may be required toselect recipients of the e-mail, create the e-mail, and send the e-mail,and in some cases the e-mail itself may not be efficiently transferredbetween the sender and the recipient as a result of firewalls, lowbandwidth, server traffic, incomplete or inaccurate recipient addresses,spam filters, etc.

Accordingly, embodiments of the present invention provide for devices,systems, and methods for a user to share content with other users whoare proximate to his or her device in a simple and intuitive manner. Insome embodiments, a “wave” gesture is used to identify users of devicesthat are nearby to the source user's device with whom the source usermay communicate, such as to share content.

In other embodiments, a subset of users on a predefined distributionlist may be identified based on a common characteristic of members ofthe subset, such as the fact that members of the subset have beendetermined to be proximate the source user's device (e.g., via the wavegesture). The source user may communicate (e.g., share content) with theidentified subset through selection of the distribution list, whilenon-members of the subset would be excluded from the communication.

In still other embodiments, the source user may be able to create usergroups by selecting visual representations of users (e.g., predefinedcontacts of the source user) and moving the selected visualrepresentations from a first region (e.g., an area of the display inwhich the visual representations are displayed) to a location outsidethe first region. Movement of the visual representations in such amanner may serve to designate the location to which the visualrepresentations are moved as an area of the display that can accumulatemultiple visual representations and create a group of users includingthose selected visual representations received in the designated area.The group of users may then be moved or otherwise manipulated as a unit,and content may, for example, be shared with those users. In this way,the source user can easily select those users with whom he or she wishesto communicate without the need to open a dedicated application oraccess a particular program configured to create user groups. Moreover,the source user may be able to visually identify which of the usersavailable for selection are co-located with him or her or share othercommon characteristics, such that the source user's selection of thoseusers may be at least partially informed by such factors.

FIG. 1, which provides one example embodiment, illustrates a blockdiagram of a mobile terminal 10 that would benefit from embodiments ofthe present invention. It should be understood, however, that the mobileterminal 10 as illustrated and hereinafter described is merelyillustrative of one type of device that may benefit from embodiments ofthe present invention and, therefore, should not be taken to limit thescope of embodiments of the present invention. As such, althoughnumerous types of mobile terminals, such as portable digital assistants(PDAs), mobile telephones, pagers, mobile televisions, gaming devices,laptop computers, cameras, tablet computers, touch surfaces, wearabledevices, video recorders, audio/video players, radios, electronic books,positioning devices (e.g., global positioning system (GPS) devices), orany combination of the aforementioned, and other types of voice and textcommunications systems, may readily employ embodiments of the presentinvention, other devices including fixed (non-mobile) electronic devicesmay also employ some example embodiments.

The mobile terminal 10 may include an antenna 12 (or multiple antennas,such as an array of patch antennas) in operable communication with atransmitter 14 and a receiver 16. In some embodiments, the antenna 12 orantennas may define a pattern of coverage in a direction of interest,for example, providing a particular “angle of view.” The antenna 12 orantennas may, for example, be configured to detect Wi-Fi enabled deviceswithin a predefined distance of the antenna within the angle of view, asdescribed in greater detail in U.S. application Ser. No. 13/356,671entitled “Directional Peer-to-Peer Networking,” filed on Jan. 24, 2012,and in PCT Application No. PCT/US2012/026877 entitled “Determining aDirection of a Wireless Transmitter,” filed on Feb. 28, 2012, thecontents of both of which are incorporated by reference herein in theirentirety.

The mobile terminal 10 may further include an apparatus, such as aprocessor 20 or other processing device (e.g., processor 70 of FIG. 2),which controls the provision of signals to and the receipt of signalsfrom the transmitter 14 and receiver 16, respectively. The signals mayfurther include signaling information in accordance with the airinterface standard of the applicable cellular system, and also userspeech, received data and/or user generated data. In this regard, themobile terminal 10 is capable of operating with one or more airinterface standards, communication protocols, modulation types, andaccess types. By way of illustration, the mobile terminal 10 is capableof operating in accordance with any of a number of first, second, thirdand/or fourth-generation communication protocols or the like. Forexample, the mobile terminal 10 may be capable of operating inaccordance with second-generation (2G) wireless communication protocolsIS-136 (time division multiple access (TDMA)), GSM (global system formobile communication), and IS-95 (code division multiple access (CDMA)),or with third-generation (3G) wireless communication protocols, such asUniversal Mobile Telecommunications System (UMTS), CDMA2000, widebandCDMA (WCDMA) and time division-synchronous CDMA (TD-SCDMA), with 3.9Gwireless communication protocol such as evolved UMTS Terrestrial RadioAccess Network (E-UTRAN), with fourth-generation (4G) wirelesscommunication protocols (e.g., Long Term Evolution (LTE) or LTE-Advanced(LTE-A) or the like. As an alternative (or additionally), the mobileterminal 10 may be capable of operating in accordance with non-cellularcommunication mechanisms. For example, the mobile terminal 10 may becapable of communication in a wireless local area network (WLAN) orother communication networks.

In some embodiments, the processor 20 may include circuitry desirablefor implementing audio and logic functions of the mobile terminal 10.For example, the processor 20 may be comprised of a digital signalprocessor device, a microprocessor device, and various analog to digitalconverters, digital to analog converters, and other support circuits.Control and signal processing functions of the mobile terminal 10 areallocated between these devices according to their respectivecapabilities. The processor 20 thus may also include the functionalityto encode message and data prior to modulation and transmission. Theprocessor 20 may additionally include an internal voice coder, and mayinclude an internal data modem. Further, the processor 20 may includefunctionality to operate one or more software programs, which may bestored in memory. For example, the processor 20 may be capable ofoperating a connectivity program, such as a conventional Web browser.The connectivity program may then allow the mobile terminal 10 totransmit and receive Web content, such as location-based content and/orother web page content, according to a Wireless Application Protocol(WAP), Hypertext Transfer Protocol (HTTP) and/or the like, for example.

The mobile terminal 10 may also comprise a user interface including anoutput device such as a conventional earphone or speaker 24, a ringer22, a microphone 26, a display 28, and a user input interface, all ofwhich are coupled to the processor 20. The user input interface, whichallows the mobile terminal 10 to receive data, may include any of anumber of devices allowing the mobile terminal 10 to receive data, suchas a keypad 30, a touch screen display (display 28 providing an exampleof such a touch screen display) or other input device. In embodimentsincluding the keypad 30, the keypad 30 may include the conventionalnumeric (0-9) and related keys (#, *), and other hard and soft keys usedfor operating the mobile terminal 10. Alternatively or additionally, thekeypad 30 may include a conventional QWERTY keypad arrangement. Thekeypad 30 may also include various soft keys with associated functions.In addition, or alternatively, the mobile terminal 10 may include aninterface device such as a joystick or other user input interface. Someembodiments employing a touch screen display, as described furtherbelow, may omit the keypad 30 and any or all of the speaker 24, ringer22, and microphone 26 entirely. The mobile terminal 10 further includesa battery 34, such as a vibrating battery pack, for powering variouscircuits that are required to operate the mobile terminal 10, as well asoptionally providing mechanical vibration as a detectable output.

The mobile terminal 10 may further include a user identity module (UIM)38. The UIM 38 is typically a memory device having a processor built in.The UIM 38 may include, for example, a subscriber identity module (SIM),a universal integrated circuit card (UICC), a universal subscriberidentity module (USIM), a removable user identity module (R-UIM), etc.The UIM 38 typically stores information elements related to a mobilesubscriber. In addition to the UIM 38, the mobile terminal 10 may beequipped with memory. For example, the mobile terminal 10 may includevolatile memory 40, such as volatile Random Access Memory (RAM)including a cache area for the temporary storage of data. The mobileterminal 10 may also include other non-volatile memory 42, which may beembedded and/or may be removable. The memories may store any of a numberof pieces of information, and data, used by the mobile terminal 10 toimplement the functions of the mobile terminal 10.

In some embodiments, the mobile terminal 10 may also include a camera orother media capturing element 32 in order to capture images or video ofobjects, people, and places proximate to the user of the mobile terminal10. The mobile terminal 10 (or even some other fixed terminal) may alsopractice example embodiments in connection with images or video content(among other types of content) that are produced or generated elsewhere,but are available for consumption at the mobile terminal 10 (or fixedterminal).

An example embodiment of the invention will now be described withreference to FIG. 2, which depicts certain elements of an apparatus 50for providing for communication among users. The apparatus 50 of FIG. 2may be employed, for example, in conjunction with the mobile terminal 10of FIG. 1. However, it should be noted that the apparatus 50 of FIG. 2may also be employed in connection with a variety of other devices, bothmobile and fixed, and therefore, embodiments of the present inventionshould not be limited to application on devices such as the mobileterminal 10 of FIG. 1. For example, the apparatus 50 may be employed ona tablet, a mobile telephone, a laptop computer, or other user terminal.Moreover, in some cases, the apparatus 50 may be on a fixed device suchas a server or other service platform, and the content may be presented(e.g., via a server/client relationship) on a remote device such as auser terminal (e.g., the mobile terminal 10) based on processing thatoccurs at the fixed device.

It should also be noted that while FIG. 2 illustrates one example of aconfiguration of an apparatus for providing for communication amongusers, numerous other configurations may also be used to implementembodiments of the present invention. As such, in some embodiments,although devices or elements are shown as being in communication witheach other, hereinafter such devices or elements should be considered tobe capable of being embodied within a same device or element and, thus,devices or elements shown in communication should be understood toalternatively be portions of the same device or element.

Referring now to FIG. 2, the apparatus 50 providing for communicationamong users may include or otherwise be in communication with aprocessor 70, a user interface transceiver 72, a communication interface74, and a memory device 76. In some embodiments, the processor 70(and/or co-processors or any other processing circuitry assisting orotherwise associated with the processor 70) may be in communication withthe memory device 76 via a bus for passing information among componentsof the apparatus 50. The memory device 76 may include, for example, oneor more volatile and/or non-volatile memories. In other words, forexample, the memory device 76 may be an electronic storage device (e.g.,a computer readable storage medium) comprising gates configured to storedata (e.g., bits) that may be retrievable by a machine (e.g., acomputing device like the processor 70). The memory device 76 may beconfigured to store information, data, content, applications,instructions, or the like for enabling the apparatus to carry outvarious functions in accordance with an example embodiment of thepresent invention. For example, the memory device 76 could be configuredto buffer input data for processing by the processor 70. Additionally oralternatively, the memory device 76 could be configured to storeinstructions for execution by the processor 70.

The apparatus 50 may, in some embodiments, be a mobile terminal (e.g.,mobile terminal 10) or a fixed communication device or computing deviceconfigured to employ an example embodiment of the present invention.However, in some embodiments, the apparatus 50 may be embodied as a chipor chip set. In other words, the apparatus 50 may comprise one or morephysical packages (e.g., chips) including materials, components and/orwires on a structural assembly (e.g., a baseboard). The structuralassembly may provide physical strength, conservation of size, and/orlimitation of electrical interaction for component circuitry includedthereon. The apparatus 50 may therefore, in some cases, be configured toimplement an embodiment of the present invention on a single chip or asa single “system on a chip.” As such, in some cases, a chip or chipsetmay constitute means for performing one or more operations for providingthe functionalities described herein.

The processor 70 may be embodied in a number of different ways. Forexample, the processor 70 may be embodied as one or more of varioushardware processing means such as a coprocessor, a microprocessor, acontroller, a digital signal processor (DSP), a processing element withor without an accompanying DSP, or various other processing circuitryincluding integrated circuits such as, for example, an ASIC (applicationspecific integrated circuit), an FPGA (field programmable gate array), amicrocontroller unit (MCU), a hardware accelerator, a special-purposecomputer chip, or the like. As such, in some embodiments, the processor70 may include one or more processing cores configured to performindependently. A multi-core processor may enable multiprocessing withina single physical package. Additionally or alternatively, the processor70 may include one or more processors configured in tandem via the busto enable independent execution of instructions, pipelining and/ormultithreading.

In an example embodiment, the processor 70 may be configured to executeinstructions stored in the memory device 76 or otherwise accessible tothe processor 70. Alternatively or additionally, the processor 70 may beconfigured to execute hard coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination thereof,the processor 70 may represent an entity (e.g., physically embodied incircuitry) capable of performing operations according to an embodimentof the present invention while configured accordingly. Thus, forexample, when the processor 70 is embodied as an ASIC, FPGA or the like,the processor 70 may be specifically configured hardware for conductingthe operations described herein. Alternatively, as another example, whenthe processor 70 is embodied as an executor of software instructions,the instructions may specifically configure the processor 70 to performthe algorithms and/or operations described herein when the instructionsare executed. However, in some cases, the processor 70 may be aprocessor of a specific device (e.g., a mobile terminal or networkdevice) adapted for employing an embodiment of the present invention byfurther configuration of the processor 70 by instructions for performingthe algorithms and/or operations described herein. The processor 70 mayinclude, among other things, a clock, an arithmetic logic unit (ALU) andlogic gates configured to support operation of the processor 70.

Meanwhile, the communication interface 74 may be any means such as adevice or circuitry embodied in either hardware or a combination ofhardware and software that is configured to receive and/or transmit datafrom/to a network and/or any other device or module in communicationwith the apparatus 50. In this regard, the communication interface 74may include, for example, an antenna (or multiple antennas) andsupporting hardware and/or software for enabling communications with awireless communication network. Additionally or alternatively, thecommunication interface 74 may include the circuitry for interactingwith the antenna(s) to cause transmission of signals via the antenna(s)or to handle receipt of signals received via the antenna(s). In someenvironments, the communication interface 74 may alternatively or alsosupport wired communication. As such, for example, the communicationinterface 74 may include a communication modem and/or otherhardware/software for supporting communication via cable, digitalsubscriber line (DSL), universal serial bus (USB) or other mechanisms.

The user interface transceiver 72 may be in communication with theprocessor 70 to receive an indication of a user input and/or to causeprovision of an audible, visual, mechanical or other output to the user.As such, the user interface transceiver 72 may include, for example, akeyboard, a mouse, a joystick, a display, a touch screen(s), touchareas, soft keys, a microphone, a speaker, or other input/outputmechanisms. Alternatively or additionally, the processor 70 may compriseuser interface circuitry configured to control at least some functionsof one or more user interface elements such as, for example, a speaker,ringer, microphone, display, and/or the like. The processor 70 and/oruser interface circuitry comprising the processor 70 may be configuredto control one or more functions of one or more user interface elementsthrough computer program instructions (e.g., software and/or firmware)stored on a memory accessible to the processor 70 (e.g., memory device76, and/or the like).

In an example embodiment, the apparatus 50 may include or otherwise bein communication with a touch screen display 68 (e.g., the display 28).In different example cases, the touch screen display 68 may be a twodimensional (2D) or three dimensional (3D) display. The touch screendisplay 68 may be embodied as any known touch screen display. Thus, forexample, the touch screen display 68 could be configured to enable touchrecognition by any suitable technique, such as resistive, capacitive,infrared, strain gauge, surface wave, optical imaging, dispersive signaltechnology, acoustic pulse recognition, and/or other techniques. Theuser interface transceiver 72 may be in communication with the touchscreen display 68 to receive touch inputs at the touch screen display 68and to analyze and/or modify a response to such indications based oncorresponding user actions that may be inferred or otherwise determinedresponsive to the touch inputs.

With continued reference to FIG. 2, in an example embodiment, theapparatus 50 may include a touch screen interface 80. The touch screeninterface 80 may, in some instances, be a portion of the user interfacetransceiver 72. However, in some alternative embodiments, the touchscreen interface 80 may be embodied as the processor 70 or may be aseparate entity controlled by the processor 70. As such, in someembodiments, the processor 70 may be said to cause, direct or controlthe execution or occurrence of the various functions attributed to thetouch screen interface 80 (and any components of the touch screeninterface 80) as described herein. The touch screen interface 80 may beany means such as a device or circuitry operating in accordance withsoftware or otherwise embodied in hardware or a combination of hardwareand software (e.g., processor 70 operating under software control, theprocessor 70 embodied as an ASIC or FPGA specifically configured toperform the operations described herein, or a combination thereof)thereby configuring the device or circuitry to perform the correspondingfunctions of the touch screen interface 80 as described herein. Thus, inexamples in which software is employed, a device or circuitry (e.g., theprocessor 70 in one example) executing the software forms the structureassociated with such means.

The touch screen interface 80 may be configured to receive an input inthe form of a touch event at the touch screen display 68. As such, thetouch screen interface 80 may be in communication with the touch screendisplay 68 to receive user inputs at the touch screen display 68 and tomodify a response to such inputs based on corresponding user actionsthat may be inferred or otherwise determined responsive to the inputs.Following recognition of a touch event, the touch screen interface 80may be configured to determine a classification of the touch event andprovide a corresponding function based on the touch event in somesituations.

In some embodiments, the touch screen interface 80 may include adetector 82, a display manager 84, and a gesture classifier 86. Each ofthe detector 82, the display manager 84, and the gesture classifier 86may be any device or means embodied in either hardware or a combinationof hardware and software configured to perform the correspondingfunctions associated with the detector 82, the display manager 84, andthe gesture classifier 86, respectively, as described herein. In anexemplary embodiment, each of the detector 82, the display manager 84,and the gesture classifier 86 may be controlled by or otherwise embodiedas the processor 70.

The detector 82 may be in communication with the touch screen display 68to receive user inputs in order to recognize and/or determine a touchevent based on each input received at the detector 82. A touch event maybe defined as a detection of an object, such as a stylus, finger, pen,pencil, cellular telephone, digital camera, or any other mobile device(including the mobile terminal 10 shown in FIG. 1) or object, cominginto contact with a portion of the touch screen display in a mannersufficient to register as a touch. In this regard, for example, a touchevent could be a detection of pressure on the screen of the touch screendisplay 68 above a particular pressure threshold over a given area.Subsequent to each touch event, the detector 82 may be furtherconfigured to pass along the data corresponding to the touch event(e.g., location of touch, length of touch, number of objects touching,touch pressure, touch area, speed of movement, direction of movement,length of delay, frequency of touch, etc.) to the gesture classifier 86for gesture classification. As such, the detector 82 may include or bein communication with one or more force sensors configured to measurethe amount of touch pressure (e.g., force over a given area) applied asa result of a touch event, as an example.

The gesture classifier 86 may be configured to recognize and/ordetermine a corresponding classification of a touch event. In otherwords, the gesture classifier 86 may be configured to perform gestureclassification to classify the touch event as any of a number ofpossible gestures. Some examples of recognizable gestures may include atouch, multi-touch, stroke, character, symbol, shape, pinch event (e.g.,a pinch in or pinch out), and/or the like.

A touch may be defined as a touch event that impacts a single area(without or with minimal movement on the surface of the touch screendisplay 68) and then is removed. A multi-touch may be defined asmultiple touch events sensed concurrently (or nearly concurrently). Astroke may be defined as a touch event followed immediately by motion ofthe object initiating the touch event while the object remains incontact with the touch screen display 68. In other words, the stroke maybe defined by motion following a touch event thereby forming acontinuous, moving touch event defining a moving series of instantaneoustouch positions (e.g., as a drag operation or as a flick operation).Multiple strokes and/or touches may be used to define a particular shapeor sequence of shapes to define a character or symbol.

A pinch event may be classified as either a pinch out or a pinch in(hereinafter referred to simply as a pinch). A pinch may be defined as amulti-touch, where the touch events causing the multi-touch are spacedapart. After initial occurrence of the multi-touch event involving atleast two objects, one or more of the objects may move substantiallytoward each other to simulate a pinch. Meanwhile, a pinch out may bedefined as a multi-touch, where the touch events causing the multi-touchare relatively close together, followed by movement of the objectsinitiating the multi-touch substantially away from each other. In somecases, the objects on a pinch out may be so close together initiallythat they may be interpreted as a single touch, rather than amulti-touch, which then is modified by movement of two objects away fromeach other.

The gesture classifier 86 may also be configured to communicatedetection information regarding the recognition, detection, and/orclassification of a touch event to the display manager 84. The displaymanager 84 may be configured to provide control over modifications madeto that which is displayed on the touch screen display 68 based on thedetection information received from the detector 82 and gestureclassifications provided by the gesture classifier 86 in accordance withthe responses prescribed for each respective gesture classification andimplementation characteristic determined by the gesture classifier 86.In other words, the display manager 84 may configure the display (e.g.,with respect to the content displayed and/or the user interface effectspresented relative to the content displayed) according to the gestureclassification and implementation characteristic classificationdetermined for a given touch event that may be detected at the display.

According to some embodiments, the apparatus 50 may also include one ormore sensors 90 that are configured to detect movement of the apparatus.In this regard, the sensor 90 may include an accelerometer that candetect an acceleration of the apparatus 50, such as a movement of thedevice embodying the apparatus in a certain direction, a gyrometer thatcan detect a rotation of the apparatus, and/or other sensors. The sensor90 may thus be configured to detect and relay (for example, to theprocessor 70) orientation inputs indicative of the orientation of theapparatus 50 with respect to a reference orientation.

Turning to FIGS. 3-5B, for example, the apparatus 50 in the depictedembodiment may be embodied in a device 100, such as a tablet computer.The apparatus 50 may be configured to include an array of antennas 105(such as the antennas 12 shown in FIG. 1) that is attached to orotherwise included in the device. The antennas 105 may incorporate orhave access to directional radio frequency- (RF-) based hardware andsoftware configured to detect devices that are present in the directionin which the RF signals are emanating. In the depicted embodiment ofFIG. 3, for example, the array of antennas 105 is integrated into a backside 110 of the device 100. As such, signals (e.g., a pattern ofradiation at a particular frequency) transmitted from the array ofantennas 105 may be obscured or blocked when the device 100 ispositioned with the back side 110 resting on or adjacent to a surface,such as the table 99 shown in FIGS. 4A and 4B or a user's lap. When thedevice 100 is moved to a different orientation in which the array ofantennas 105 is no longer on any surface, as shown in FIGS. 5A and 5B,for example, the array of antennas may be exposed such that the signalsemanate in a particular direction from the device and can detect devicesin a particular coverage area 120 with respect to the device 100.

As described above, the apparatus 50 may comprise at least one processor(e.g., processor 70 of FIG. 2) and at least one memory (e.g., memorydevice 76 of FIG. 2) including computer program code. The at least onememory and the computer program code may be configured to, with theprocessor, cause the apparatus 50 to receive a first orientation input,for example, via the sensor 90 (shown in FIG. 2). The apparatus 50 maybe caused to initiate a scanning mode in response to receipt of thefirst orientation input, during which one or more devices proximate theapparatus are determined as noted above and described in greater detailin U.S. application Ser. No. 13/356,671 and in PCT Application No.PCT/US2012/026877, listed above. The apparatus 50 may be further causedto receive a second orientation input that is different from the firstorientation input, and the scanning mode may be terminated in responseto the receipt of the second orientation input. The at least one memoryand the computer program code may be configured to, with the processor,cause the apparatus 50 to provide for communication with at least oneselected device of the one or more devices determined to be proximatethe apparatus, as described below.

In this regard, the first orientation input may comprise informationfrom the sensor 90, for example, that indicates relative movement of theapparatus from a first position (such as an initial “at rest” positionshown in FIGS. 4A and 4B) to a second position (such as the positionshown in FIGS. 5A and 5B). Similarly, the second orientation input maycomprise information from the sensor 90, for example, that indicatesrelative movement of the apparatus from the second position (FIGS. 5Aand 5B) back to the first position (FIGS. 4A and 4B). This movementbetween the first and second positions may simulate a “wave” of thedevice 100 and may thus be considered a wave gesture for purposes ofexplanation. In some cases, the second orientation input may indicate amovement of the apparatus from the second position (FIGS. 5A and 5B) toa third position (not shown), which may be close to the first position,for example, or may be in the direction of the first position.

In some embodiments, the first orientation input and/or the secondorientation input may include a motion component and/or a durationcomponent. The motion component may include information from the sensor90 indicating movement of the apparatus, such as indicating that theapparatus (or the device 100 embodying the apparatus) has been moved ina particular direction, at a particular speed, and/or to a particularangle α (shown in FIGS. 5A and 5B). The duration component may includeinformation from the sensor 90 or other components indicating how longthe apparatus 50 is maintained in the second position. For example, ifthe apparatus 50 is moved by the user from the first position (FIGS. 4Aand 4B) to the second position (FIGS. 5A and 5B), held in the secondposition for 5 seconds, then returned to the first position (FIGS. 4Aand 4B), the movement from the first position to the second position maybe considered the first orientation input, and the movement from thesecond position back to the first position may be considered the secondorientation input.

If, however, the apparatus 50 is maintained in the second position for aperiod of time longer than a predetermined duration (such as longer thana minute), the movement to the second position may be considered apermanent movement of the device and may not register as a firstorientation input, for example. In other words, the user in this casemay be considered to be shifting the position of the device withoutintending to initiate a scanning mode, such as by moving the device froma flat surface (such as the floor) to a relatively inclined surface(such as the user's lap) for the purpose of continuing to interact withthe device as before (e.g., not intending to scan for proximate users,but possibly adjusting the position of the device for the user's comfortor ease of use). In this case, the scanning mode that may have beeninitiated upon receipt of the first orientation input (e.g., the changefrom the first to the second position) may be terminated once thepredetermined duration is exceeded, and any devices determined to beproximate the apparatus may be disregarded.

In some embodiments, rather than being indicative of a change withrespect to an initial position (such as the “at rest” first position ofFIG. 4A and FIG. 4B), the first orientation input may be indicative of aparticular orientation of the device 100, regardless of the previous“status quo” orientation of the device. For example, the firstorientation input may correspond to a tilting of the device about aparticular axis (such as the z-axis shown) to a particular angle (suchas an angle of 30° or more) with respect to a fixed reference position.In this regard, the first orientation input may take into account anacceleration of the device 100 caused by movement from the firstposition to the second position, e.g., via information from the sensor90.

Regardless of how the first and second orientation inputs aredetermined, as noted above, in some embodiments the first orientationinput may be indicative of a tilting of the device 100 associated withthe apparatus 50 in a first direction (arrow 130 in FIG. 5A) along atilt plane XY. The second orientation input may be indicative of atilting of the device 100 associated with the apparatus 50 in a seconddirection (arrow 135 in FIG. 5A) along the tilt plane XY. Moreover, insome cases, the first orientation input may be indicative of a movementof the device 100 associated with the apparatus 50 that serves to exposethe antenna (e.g., the array of antennas 105) of the device for enablingthe scanning mode, as described above with reference to FIGS. 3-5B. Inother words, prior to receipt of the first orientation input, the arrayof antennas 105 may be covered or hidden (such as by the surface of atable 99 on which the device is placed, as illustrated in FIGS. 4A and4B), whereas after receipt of the first orientation input, the array ofantennas 105 may be uncovered such that signals may be transmitted fordetecting proximate user devices. Accordingly the directional RF sensingof the antennas 105 may be enabled by the alignment of the inherentradiation beam pattern of the antennas 105 in the correct orientationand direction with respect to the proximate users.

In some cases, the at least one memory and the computer program code maybe configured to, with the processor, cause the apparatus 50 to receivea sweep input and to maintain the scanning mode through a duration ofthe sweep input. A sweep input is illustrated in FIG. 6 and may beindicative of a rotating of the device associated with the apparatusalong a sweep plane XZ that is perpendicular to the tilt plane XYdescribed above. As illustrated, the user may initially move the device100 from a first position (such as the “at rest” position shown in FIGS.4A and 4B) to the second position (such as the position shown in FIGS.5A and 5B). Once in the second position (point A in FIG. 6), the usermay rotate the device 100 along the XZ plane (e.g., rotating the deviceabout an axis defined by the user's body) from point A, through point B,to point C at the other end of the sweep gesture. As a result, a largercoverage area 120 may be achieved, and a greater number of devices inthe vicinity of the apparatus 50 may be detected.

Different implementations of the wave gesture described above may beused to modulate the number of people to be detected in proximity to theapparatus 50. Referring to FIGS. 17A-17C, for example, the sweep gestureshown in FIG. 6 may be adjusted by the user to achieve a wider ornarrower coverage area 120, corresponding to potentially detecting agreater number of proximate devices (for a wider coverage area) or asmaller number of proximate devices (for a narrower coverage area).Thus, by increasing the distance d between the starting point of thesweep gesture (position A) and the ending point of the sweep gesture(position C) along the z-axis, a wider coverage area 120 can be achievedas depicted in FIG. 17B, and a potentially larger group of proximatedevices may be detected, depending on how many devices are in thevicinity. This may be thought of as a change in signal intensity the y-zplane.

Another way to modulate the number of people to be detected may be toadjust the angle α of the wave gesture (shown in FIG. 5A) to increasethe depth of the coverage area that is scanned (e.g., to detectadditional devices at a greater distance from the user in thex-direction). With reference to FIGS. 18A-18C, for example, the smallertilt angle α shown in FIG. 18A may correspond to a scanning depth in thex-direction that would detect the devices of Users A and B, but wouldnot detect the devices of users past User B, such as Users C and D. Whenthe tilt angle α is increased, as shown in FIG. 18B, however, thescanning depth may also be increased, such that the devices of Users A,B, C, and D are all detected. In some cases, the apparatus 50 mayprovide for an increase in the signal strength from the directionalantennas described above with reference to FIG. 3 upon detection of acertain tilt angle α (such as an angle α that is above a certainthreshold or within a certain range of angles). The strength of thesignal may correspond to the effective depth of scanning that isaccomplished. Thus, in FIG. 18A, the signal strength for detectingproximate devices may be relatively weaker than the signal strengthprovided by the apparatus 50 in FIGS. 18B and 18C due to the relativetilt angles α achieved by the user of the apparatus in performing thewave gesture. In this way, the user may control the depth of scanningconducted by the apparatus so as to save time and/or energy (e.g., powerconsumption of the apparatus), such as in cases in which the user onlywishes to detect the devices associated with a certain user seatedacross a table from him and does not want to detect others who may bepresent in the vicinity (e.g., in the same room, but not at the user'stable). This may be thought of as a change in signal intensity the x-zplane.

In still other cases, the user of the apparatus 50 may wish to “skipover” the devices of certain users who may be physically closer to theapparatus and may only want to detect devices that are farther away (butstill proximate). In such cases, the user may modify the wave gesture toadd a height component, as shown in FIGS. 19A-19C. For example, inperforming a wave gesture using a particular tilt angle α with the pivotedge 101 of the device at a height h of 0 with respect to a referenceplane (such as a table top), three users (Users A, B, and C) may bedetected in the proximity of the apparatus 50, as depicted in FIG. 19A.The user of the apparatus 50 may, however, only wish to detect User Cand may, in effect, want to exclude Users A and B from being detected.In this case, as shown in FIGS. 19B and 19C, the user may raise theapparatus 50 to a certain height h above the reference plane (in they-direction), which may trigger the apparatus to disregard devices thatit detects within a certain distance of the user (such as within 3 feetof the user's apparatus, as an example) and to only report the detectionof devices in the remainder of the coverage area (such as between 3 feetfrom the user and the farthest distance to which the scanning extends).Thus, in contrast with the case described with respect to FIGS. 18A-18C,a selective depth of scanning may be achieved to focus on particulardevices that the user may consider more relevant to a particularoperation to be performed. This may be thought of as a change in signalintensity the x-y plane.

The various implementations of the wave gesture described above may becombined in some cases to facilitate the detection of certain devicesproximate the user's apparatus 50. For example, a larger sweep gesture(shown in FIG. 17B-17C) may be combined with a wave gesture thatincludes a height component h greater than 0 (shown in FIG. 19B-19C) soas to increase the width of the coverage area 120 to detect additional(but perhaps relatively peripheral) devices proximate the apparatus, butat the same time excludes those users that are physically nearest to theapparatus. Likewise, a larger sweep gesture (shown in FIG. 17B-17C) maybe combined with a wave gesture having an increased tilt angle α (shownin FIG. 18B-18C) to detect devices in a wider coverage area and bothnear the apparatus and at a relatively greater distance from theapparatus within the coverage area, without excluding any detecteddevices.

Regardless of the particular wave gesture used, the at least one memoryand the computer program code may be configured to, with the processor,cause the apparatus 50 to provide for communication with at least oneselected device of the one or more devices that are determined to beproximate the apparatus. For example, with reference to FIG. 7, theUser's apparatus may detect five devices that are in the coverage area120 of the apparatus. In the depicted example, the users associated withthose five devices may be Al, Bonnie, Carl, Donna, and Eve. Fred'sdevice and Gary's device may fall outside the coverage area 120 and maythus not be detected in this example. The User may communicate with oneor more of the detected devices by selecting those detected devices withwhich the User wishes to communicate, such as by providing input via atouch display of the device 100 selecting representations of one or moreof the detected devices, as described in greater detail below. Thecommunication may be accomplished automatically (e.g., without furtheruser input) upon selection of the one or more detected devices usingmechanisms such as peer-to-peer and cloud-based technology.

Various types of communication may be possible with one or more of theselected devices. For example, the at least one memory and the computerprogram code may be configured to, with the processor, cause theapparatus to provide for communication with at least one selected deviceby providing for content to be shared with the at least one selecteddevice. Referring to the depicted example of FIG. 7, the User may wishto share content with the detected device associated with Eve. Forexample, the User may wish to share photos stored on or accessible tothe User's device with Eve's device so that Eve may view the same photoson her own device display, rather than having to look at the User'sdevice display.

In still other embodiments, the at least one memory and the computerprogram code may be configured to, with the processor, cause theapparatus 50 to receive an indication from at least one of the one ormore devices determined to be proximate the apparatus 50 and to providefor communication with the at least one device from which the indicationis received. In other words, the detection of devices proximate theapparatus may, in some cases, include a bi-directional component, inwhich the user of the other device must also detect the apparatus 50and, in a sense, agree to the communication by detecting andacknowledging the proximity of the apparatus 50.

With reference to FIG. 7, for example, in the bi-directional scenario,in addition to the User initiating a wave gesture of the User's device,Eve would also implement a wave gesture using her device, and as suchthe User's device would receive signals transmitted by the antennas onthe apparatus associated with Eve's device for detecting the User'sproximity to Eve's device. In this case, the User's apparatus would becaused to provide for communication with Eve's device upon receivingsuch an indication (e.g., the detection signals) from Eve's device, andat the same time Eve's device may be configured such that Eve'sapparatus would also be able to communicate (e.g., share content) withthe User's device.

The detection of devices proximate the apparatus 50, such as via a wavegesture in the embodiments described above, may facilitate the executionof various operations, including the selection of devices determined tobe proximate the apparatus from among user devices that are included inpredefined distribution groups and the creation of user groups forcommunicating data with such devices.

According to some embodiments, for example, the at least one memory andthe computer program code may be configured to, with the processor,cause the apparatus 50 to access a predefined distribution list (e.g., adistribution list that has already been established and stored by theuser of the device embodying the apparatus or that is accessible to theapparatus), and determine a subset of the distribution list based on acommon characteristic of members of the subset. The at least one memoryand the computer program code may be further configured to, with theprocessor, cause the apparatus 50 to receive selection of thedistribution list and provide for communication with members of thesubset based on receipt of the selection. Accordingly, non-members ofthe subset (e.g., members of the distribution list who do not share thecommon characteristic) would be excluded from the communication. Inother words, distribution lists that have already been configured may beleveraged according to embodiments of the invention to facilitate therepresentation of a group (e.g., the group being a subset of aparticular distribution list that is co-located with the user in somecases).

With reference to FIG. 8, for example, the user of a device embodyingthe apparatus 50 may have access to several distribution lists that havealready been defined, such as the distribution lists called “Friends,”“Co-Workers,” and “Family” in the depicted example. The distributionlist 140 called “Co-Workers,” which is expanded in FIG. 8, may includesix members: Harry, Ian, Jackie, Kelly, Lisa, and Minnie Of thosemembers of the distribution list, certain members may share a commoncharacteristic and may thus form a subset of the list.

In some embodiments, the common characteristic may include a proximityof a device associated with the member of the subset to the apparatus.For example, Harry, Ian, Jackie, Kelly, and Minnie may all be attendinga meeting with the user of the apparatus 50 and may, thus, be co-locatedwith the user. Accordingly, the common characteristic may be theirco-location with the user, which may be determined via a wave gesture asdescribed above with respect to FIGS. 3-7. In other embodiments,however, the common characteristic may comprise the inclusion of themember of the subset in a predefined group of contacts. For example, theuser may have previously included Jackie, Kelly, Lisa, and Minnie in apredefined group of contacts (e.g., the user may have previously definedthose members as some of his contacts due to associations with thosemembers outside of work). In still other embodiments, the commoncharacteristic may comprise the inclusion of the member of the subset inan established communication session. Going back to the meeting example,the user may have a communication session (such as a web meetingsession) running with the participants in the meeting, includingparticipants who are co-located with the user and those participatingfrom remote locations. The members of the subset in this example maythus include anyone from the “Co-Workers” distribution list who islogged on to the same web meeting (e.g., anyone participating in themeeting via the web meeting session, regardless of physical location).

In some cases, the at least one memory and the computer program code maybe configured to, with the processor, cause the apparatus 50 to providefor a visual indication of the subset that is determined. In embodimentsin which the common characteristic is proximity to the apparatus, forexample, each member of the subset associated with a device that hasbeen determined to be proximate the user's apparatus (e.g., thoseco-located with the user, noted above as including Harry, Ian, Jackie,Kelly, and Minnie in the depicted example of FIG. 8) may be indicatedvisually on the display 68. The visual indication may be, for example, adifference in font (e.g., bold, italics, highlighting, a differentcolor, etc.) or the use of a particular icon or symbol near each memberof the subset, such as a “+” or a “person” icon. In the depictedexample, the name of each member of the subset (e.g., each userassociated with a device that is determined to be proximate the user'sdevice) is indicated via bold font. As a result, the user of theapparatus 50 may be able to tell at a glance which members of thedistribution list 140 are proximate the user's apparatus in this exampleand are, thus, members of the subset.

The at least one memory and the computer program code may be configuredto, with the processor, cause the apparatus 50 to provide forcommunication with the members of the subset by sharing content withmembers of the subset. For example, the user of the apparatus 50 may beable to share content with the members of the subset only (e.g.,excluding non-members of the subset, such as Lisa in the previousexample) based on receipt of the selection of the whole distributionlist 140. In other words, when the user selects the “Co-Workers”distribution list as recipients of shared content, only members of thesubset, and no one else in the distribution list, would receive theshared content in this example. In other embodiments, the communicationprovided for may include the transmission of a message (such as a textor voice message), a phone call, or any other form of communication.

In still other embodiments, the at least one memory and the computerprogram code may be configured to, with the processor, cause theapparatus 50 to access the predefined distribution list (or lists) basedon a context of use of the apparatus. For example, if the user is loggedon to a work account, the apparatus 50 may access distribution listsassociated with the user's work, such as the “Co-Workers” distributionlist, but possibly not the “Friends” distribution list (e.g., if none ofthe “friends” on the list are co-workers) and possibly not the “Family”distribution list (e.g., if none of the “family” on the list areco-workers). As another example, the apparatus 50 may only accesspredefined distribution lists that have at least one member that hasbeen determined to be proximate the user's apparatus 50 (e.g., throughthe use of a wave gesture as described above). In this case, the threedistribution lists 140 shown in FIG. 8 may each have been determined toinclude at least one member who is co-located with the user and, thus,has been determined to be proximate the user's apparatus.

In some cases, the time of day and/or location of use of the deviceassociated with the apparatus may inform which distribution lists areaccessed. For example, if a particular user frequently shares documentswith two of his co-workers (e.g., Ian and Kelly) in a meeting, thelocation and frequency of the usage (e.g., the sharing events) may bestored for Ian and Kelly. In this way, the next time a meeting takesplace involving Ian and Kelly in this example, the distribution listincluding Ian and Kelly may appear to the user as having a higherpriority, or being more relevant, than other distribution listsincluding other members of the meeting who may be present. In addition,if the user is in close proximity to Ian and Kelly outside the meetingenvironment, for example in a cafeteria, but the user does not have ahistory of sharing any content with Ian and Kelly in that location, thedistribution list created with the meeting location context may notappear as a high priority distribution list for the user.

With respect to the time of day, and as another example, a user may liketo watch television when he comes home from work every night. The usermay find it easier to search for television shows on his mobile phoneand then transfer the content to his big screen television. Theapparatus may “learn” that content is transferred from the user's mobiledevice to the television only at a certain time of the day (e.g., after6 PM), and as a result the television may appear as a distribution listfor the user only at that time of day.

In addition to enabling the user to communicate with only certainmembers of an established distribution list (e.g., members who areco-located with the user), the determination of devices proximate theuser's apparatus, such as via a wave gesture as described above, mayfurther facilitate the creation of groups of the user's contacts withwhom information can be exchanged.

Accordingly, in some embodiments, the apparatus 50 may comprise at leastone processor and at least one memory including computer program code,and the at least one memory and the computer program code may beconfigured to, with the processor, cause the apparatus 50 to provide forpresentation of one or more visual representations 200 in a first region210 of a display 68, as shown in FIG. 9. Each visual representation 200may be associated with a user. For example, in the depicted example,four visual representations 200 are visible in the first region 210 forNina, Ollie, Pete, and Quincy, each of whom may be a user of a deviceand, for example, one of the contacts previously defined by the user ofthe apparatus 50.

With reference to FIGS. 9 and 10, the at least one memory and thecomputer program code may be further configured to, with the processor,cause the apparatus 50 to receive an input moving a selected visualrepresentation 202 to a location outside of the first region 210 and todesignate an area 220 of the display 68 corresponding to the location towhich the selected visual representation 202 is moved for creating agroup of users in response to receipt of the input. For explanatorypurposes, the first region 210 and the designated area 220 are shown indashed lines, and the input moving the selected visual representation202 is illustrated using a block arrow 230.

As depicted, for example, the user of the apparatus 50 may be viewingcontent 240, such as a news article, on the display 68 of the device,and the first region 210 in which visual representations 200 of at leastsome of the user's contacts are displayed may be located along a topedge of the display. The first region 210 may, however, be disposed inany location on the display based on the content with which the user isinteracting, the user's preferences, and/or other considerations. Insome cases, the visual representations 200 may at least partiallyoverlay the content 240 with which the user is interacting. In thisregard, the movement input 230 (a dragging input) provided by the user(e.g., by the user's finger as depicted or some other implement or inputdevice) may serve to move the selected visual representation 202 fromthe first region 210 to a location outside the first region.

The location to which the selected visual representation 202 is movedmay be unassociated with the execution of any particular operationrelated to communication of information or contacts. In other words, theuser may drag the selected visual representation 202 from the firstregion 210 to some other, previously undesignated location on thedisplay 68, and the act of moving the selected visual representation 202outside of the first region may trigger the designation of the area 220to which the selected visual representation is moved as an area foraccumulating one or more selected visual representations and forcreating a group of users. Accordingly, the designated area 220 may bean area that overlays the content 240 with which the user isinteracting, as shown in FIG. 10, or a new window that is presented in aportion of the display 68.

In some cases, the at least one memory and the computer program code maybe configured to, with the processor, cause the apparatus 50 to receivea plurality of inputs (e.g., a plurality of dragging inputs), with eachinput moving a selected visual representation 202 to the designated area220. A group of users may thus be created based on receipt of theinputs. In the example depicted in FIG. 11, three inputs have beenreceived moving three selected visual representations 202 out of thefirst region 210 to the designated area 220. As a result, a user group250 is created that includes three members: Ollie, Ron, and Tim. In someembodiments, as illustrated, the visual representations 200 provided inthe first region 210 may be arranged to include additional visualrepresentations as a selected visual representation 202 is moved out ofthe first region 210 to allow the user to view additional contacts forselection, for example. Moreover, the user may be able to scroll throughthe visual representations 200 displayed in the first region 210 using,for example, a swipe gesture applied to the first region, to move thelist to the right or to the left and to view additional contacts thatmay be located outside the viewing area of the first region.

Once the user is satisfied with the user group 250 that has beencreated, the user may be able to communicate information to the usergroup as a whole (e.g., each member of the user group). For example, theuser may be able to share content (e.g., the content 240) with all ofthe members of the user group 250 using a single input, such as byapplying a touch input to the display 68 that serves to move the content240 presented on the display to the visual representation of the usergroup in the designated area 220. In some cases, however, theinformation may be communicated with one or more particular members ofthe user group (e.g., less than all members of the user group) byselecting particular members of the user group as recipients.

In some embodiments, the at least one memory and the computer programcode may be configured to, with the processor, cause the apparatus 50 toreceive an input 260 moving the selected visual representations 202 fromthe designated area 220 to the first region 210, thereby including theuser group 250 as a single “contact” represented in the first region, asshown in FIGS. 12 and 13. The user may then be able to share the content240 or otherwise communicate with the user group 250 as a whole byapplying an input 270 that moves the content to the location in thefirst region 210 corresponding to where the user group 250 has beenplaced, as shown in FIG. 13. Furthermore, in some embodiments, the atleast one memory and the computer program code may be configured to,with the processor, cause the apparatus 50 to store the group of users250 that has been created in a memory, such as the memory 76 shown inFIG. 2. Accordingly, the user may be able to access a created user group250 similarly to how the user may access any other contact stored on thedevice during subsequent interactions.

Referring again to FIG. 9, in some cases, the at least one memory andthe computer program code may be configured to, with the processor,cause the apparatus 50 to provide for presentation of the one or morevisual representations 200 in the first region 210 based on a relevancyof each associated user to an operation to be executed. For example, therelevancy may be based on proximity of the associated user to theapparatus 50. In the depicted example of FIG. 9, for instance, Nina,Ollie, Pete, and Quincy may be presented on the display in the firstregion 210 from among several other available contacts based on thesefour users being associated with devices that have been determined to beproximate the user's apparatus 50 (e.g., as described above with respectto the wave gesture and FIGS. 3-7). As another example, the relevancymay be based on prior interaction with the associated user with respectto the operation to be executed. For example, users associated withdevices with which the user has previously shared content may beconsidered more relevant than other users with whom content has neverbeen shared.

Alternatively or additionally, the visual representation 200 associatedwith the most relevant users (e.g., the users most proximate to theapparatus 50) may be visually distinguished from other visualrepresentations, such as through increased size of the visualrepresentation, different coloring or opacity of the visualrepresentation, position in the first region 210 (e.g., most relevantbeing centrally located), the inclusion of a pictorial representation ofthe location of the user and/or the time of day, and so on. In this way,the user may be able to tell at a glance which contacts are mostrelevant to the operation to be executed (e.g., a sharing content), andselection from among the user's contacts may be facilitated.

FIGS. 14-16 illustrate flowcharts of systems, methods, and computerprogram products according to example embodiments of the invention. Itwill be understood that each block of the flowchart, and combinations ofblocks in the flowchart, may be implemented by various means, such ashardware, firmware, processor, circuitry, and/or other devicesassociated with execution of software including one or more computerprogram instructions. For example, one or more of the proceduresdescribed above may be embodied by computer program instructions. Inthis regard, the computer program instructions which embody theprocedures described above may be stored by a memory device of anapparatus employing an embodiment of the present invention and executedby a processor in the apparatus. As will be appreciated, any suchcomputer program instructions may be loaded onto a computer or otherprogrammable apparatus (e.g., hardware) to produce a machine, such thatthe resulting computer or other programmable apparatus implements thefunctions specified in the flowchart block(s). These computer programinstructions may also be stored in a computer-readable memory that maydirect a computer or other programmable apparatus to function in aparticular manner, such that the instructions stored in thecomputer-readable memory produce an article of manufacture the executionof which implements the function specified in the flowchart block(s).The computer program instructions may also be loaded onto a computer orother programmable apparatus to cause a series of operations to beperformed on the computer or other programmable apparatus to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide operations forimplementing the functions specified in the flowchart block(s).

Accordingly, blocks of the flowchart support combinations of means forperforming the specified functions, combinations of operations forperforming the specified functions, and program instruction means forperforming the specified functions. It will also be understood that oneor more blocks of the flowchart, and combinations of blocks in theflowchart, can be implemented by special purpose hardware-based computersystems which perform the specified functions, or combinations ofspecial purpose hardware and computer instructions.

In this regard, one embodiment of a method for detecting devicesproximate an apparatus, as shown in FIG. 14, includes receiving a firstorientation input at Block 300 and initiating a scanning mode inresponse to receipt of the first orientation input during which one ormore devices proximate the apparatus are determined at Block 310. Asecond orientation input is received that is different from the firstorientation input at Block 320, and the scanning mode is terminated atBlock 330 in response to receipt of the second orientation input. Thefirst orientation input may, for example, be indicative of a tilting ofa device associated with the apparatus in a first direction along a tiltplane. The second orientation input may be indicative of a tilting ofthe device associated with the apparatus in a second direction along thetilt plane. At Block 340, embodiments of the method provide forcommunication with at least one selected device of the one or moredevices determined to be proximate the apparatus, as detailed above.

In some cases, for example, a sweep input may be received, and thescanning mode may be maintained through a duration of the sweep input atBlock 350. The sweep input may be indicative of a rotating of the deviceassociated with the apparatus along a sweep plane that is perpendicularto the tilt plane.

In some embodiments, as described above, the method may provide forcommunication with the at least one selected device by providing forcontent to be shared with the at least one selected device at Block 360.In addition or alternatively, an indication may be received from atleast one of the one or more devices determined to be proximate theapparatus, and communication with the at least one device from which theindication is received may be provided for at Block 370.

Turning to FIG. 15, another embodiment of a method is illustrated forproviding for communication using distribution lists. Embodiments of themethod include accessing a predefined distribution list at Block 400,determining a subset of the distribution list based on a commoncharacteristic of members of the subset at Block 410, receivingselection of the distribution list at Block 420, and providing forcommunication with members of the subset based on receipt of theselection at Block 430, where non-members of the subset are excludedfrom the communication. In some embodiments, the predefined distributionlist may be accessed based on a context of use of the apparatus, asdescribed above.

The common characteristic may comprise proximity between a deviceassociated with the member of the subset and the apparatus, inclusion ofthe member of the subset in a predefined group of contacts, and/orinclusion of the member of the subset in an established communicationsession. In some cases, providing for communication with members of thesubset involves sharing content with members of the subset, as shown atBlock 440. In still other cases, a visual indication of the subsetdetermined may be provided at Block 450.

Another embodiment of a method is illustrated in FIG. 16 for providingfor the creation of user groups. Embodiments of the method provide forpresentation of one or more visual representations in a first region ofa display at Block 500, with each visual representation being associatedwith a user. Input moving a selected visual representation to a locationoutside of the first region is received at Block 510, and an area of thedisplay corresponding to the location to which the selected visualrepresentation is moved is designated, at Block 520, for creating agroup of users in response to receipt of the input.

In some cases, providing for presentation of the one or more visualrepresentations in the first region may be based on a relevancy of eachassociated user to an operation to be executed, as described above. Forexample, the relevancy may be based on proximity of the associated userto the apparatus, and/or the relevancy may be based on prior interactionwith the associated user with respect to the operation to be executed.

Furthermore, a plurality of inputs may be received, each input moving aselected visual representation to the designated area, and a group ofusers may be created based on receipt of the inputs at Block 530. Aninput may also be received moving the selected visual representationsfrom the designated area to the first region at Block 540, as describedabove. In some cases, the group of users created may be stored in amemory at Block 550.

In some embodiments, certain ones of the operations above may bemodified or further amplified as described below. Furthermore, in someembodiments, additional optional operations may be included, someexamples of which are shown in dashed lines in FIGS. 14-16.Modifications, additions, or amplifications to the operations above maybe performed in any order and in any combination.

In an example embodiment, an apparatus for performing the methods ofFIGS. 14-16 above may comprise a processor (e.g., the processor 70 ofFIG. 2) configured to perform some or each of the operations (300-550)described above. The processor may, for example, be configured toperform the operations (300-550) by performing hardware implementedlogical functions, executing stored instructions, or executingalgorithms for performing each of the operations. Alternatively, theapparatus may comprise means for performing each of the operationsdescribed above. In this regard, according to an example embodiment,examples of means for performing at least portions of operations 300,320, 420, 450, 510, 530, and 540 may comprise, for example, the userinterface transceiver 72, the processor 70, and/or a device or circuitfor executing instructions or executing an algorithm for processinginformation as described above. Examples of means for performingoperations 310 and 330 may comprise, for example, the processor 70, thesensor 90, and/or a device or circuit for executing instructions orexecuting an algorithm for processing information as described above.Examples of means for performing operation 350 may comprise, forexample, the processor 70, the sensor 90, the user interface transceiver72, and/or a device or circuit for executing instructions or executingan algorithm for processing information as described above. Examples ofmeans for performing operation 370 may comprise, for example, thecommunication interface 74, the processor 70, and/or a device or circuitfor executing instructions or executing an algorithm for processinginformation as described above. Examples of means for performingoperations 340, 360, 430, and 440 may comprise, for example, theprocessor 70, the memory device 76, the communication interface 74,and/or a device or circuit for executing instructions or executing analgorithm for processing information as described above. Examples ofmeans for performing operations 400 and 550 may comprise, for example,processor 70, the memory device 76, and/or a device or circuit forexecuting instructions or executing an algorithm for processinginformation as described above. Examples of means for performingoperation 410 may comprise, for example, the processor 70 and/or adevice or circuit for executing instructions or executing an algorithmfor processing information as described above. Examples of means forperforming operations 500 and 520 may comprise, for example, theprocessor 70, the user interface transceiver 72, the memory device 76,and/or a device or circuit for executing instructions or executing analgorithm for processing information as described above.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Moreover, although the foregoing descriptions and the associateddrawings describe example embodiments in the context of certain examplecombinations of elements and/or functions, it should be appreciated thatdifferent combinations of elements and/or functions may be provided byalternative embodiments without departing from the scope of the appendedclaims. In this regard, for example, different combinations of elementsand/or functions than those explicitly described above are alsocontemplated as may be set forth in some of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

What is claimed is:
 1. An apparatus comprising at least one processorand at least one memory including computer program code, the at leastone memory and the computer program code configured to, with theprocessor, cause the apparatus to at least: access a predefineddistribution list; determine a subset of the distribution list based ona common characteristic of members of the subset; receive selection ofthe distribution list; and provide for communication with members of thesubset based on receipt of the selection, wherein non-members of thesubset are excluded from the communication.
 2. The apparatus of claim 1,wherein the common characteristic comprises proximity between a deviceassociated with the member of the subset and the apparatus.
 3. Theapparatus of claim 1, wherein the common characteristic comprisesinclusion of the member of the subset in a predefined group of contacts.4. The apparatus of claim 1, wherein the common characteristic comprisesinclusion of the member of the subset in an established communicationsession.
 5. The apparatus of claim 1, wherein the at least one memoryand the computer program code are further configured to, with theprocessor, cause the apparatus to provide for communication with membersof the subset by sharing content with members of the subset.
 6. Theapparatus of claim 1, wherein the at least one memory and the computerprogram code are further configured to, with the processor, cause theapparatus to provide for a visual indication of the subset determined.7. The apparatus of claim 1, wherein the at least one memory and thecomputer program code are further configured to, with the processor,cause the apparatus to access the predefined distribution list based ona context of use of the apparatus.
 8. A method comprising: accessing apredefined distribution list; determining a subset of the distributionlist based on a common characteristic of members of the subset;receiving selection of the distribution list; and providing, via aprocessor, for communication with members of the subset based on receiptof the selection, wherein non-members of the subset are excluded fromthe communication.
 9. The method of claim 8, wherein the commoncharacteristic comprises proximity between a device associated with themember of the subset and the apparatus.
 10. The method of claim 8,wherein the common characteristic comprises inclusion of the member ofthe subset in a predefined group of contacts.
 11. The method of claim 8,wherein the common characteristic comprises inclusion of the member ofthe subset in an established communication session.
 12. The method ofclaim 8 further comprising providing for communication with members ofthe subset by sharing content with members of the subset.
 13. The methodof claim 8 further comprising providing for a visual indication of thesubset determined.
 14. A computer program product comprising at leastone computer-readable storage medium having computer-executable programcode portions stored therein, the computer-executable program codeportions comprising program code instructions for: accessing apredefined distribution list; determining a subset of the distributionlist based on a common characteristic of members of the subset;receiving selection of the distribution list; and providing forcommunication with members of the subset based on receipt of theselection, wherein non-members of the subset are excluded from thecommunication.
 15. The computer program product of claim 14, wherein thecommon characteristic comprises proximity between a device associatedwith the member of the subset and the apparatus.
 16. The computerprogram product of claim 14, wherein the common characteristic comprisesinclusion of the member of the subset in a predefined group of contacts.17. The computer program product of claim 14, wherein the commoncharacteristic comprises inclusion of the member of the subset in anestablished communication session.
 18. The computer program product ofclaim 14, wherein the program code instructions are further configuredfor providing for communication with members of the subset by sharingcontent with members of the subset.
 19. The computer program product ofclaim 14, wherein the program code instructions are further configuredfor providing for a visual indication of the subset determined.
 20. Thecomputer program product of claim 14, wherein the program codeinstructions are further configured for accessing the predefineddistribution list based on a context of use of the apparatus.